export function latitudeAndLongitude (rule: any, value: any, callback:any) {
  if (value) {
    const reg = /^(-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/
    if (!reg.test(value)) {
      callback(new Error('请输入正确的经纬度'))
    } else {
      callback()
    }
  } else {
    callback()
  }
}

// 经度
export function validatorLongitude (rule: any, value: any, callback:any) {
  const reg = /^(-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,15})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,15}|180)$/
  if (value === '') {
    callback(new Error('请输入经度'))
  } else {
    if (!reg.test(value)) {
      callback(new Error('经度范围：-180~180（保留小数点后十五位）'))
    }
    callback()
  }
}

// 纬度
export function validatorLatitude (rule: any, value: any, callback:any) {
  const reg = /^(-|\+)?([0-8]?\d{1}\.\d{0,15}|90\.0{0,15}|[0-8]?\d{1}|90)$/
  if (value === '') {
    callback(new Error('请输入纬度'))
  } else {
    if (!reg.test(value)) {
      callback(new Error('纬度范围：-90~90（保留小数点后十五位）'))
    }
    callback()
  }
}
// 身份证校验
export function isIdcard (rule: any, value: any, callback:any) {
  const reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)/
  if ((!reg.test(value)) && value !== '') {
    callback(new Error('请输入正确格式的身份证号'))
  } else {
    callback()
  }
}
// 姓名校验
export function isName (rule: any, value: any, callback:any) {
  if (value !== '') {
    const reg = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/
    if (!reg.test(value)) {
      callback(new Error('请输入正确的姓名'))
    } else {
      callback()
    }
  } else {
    callback()
  }
}
// 手机号验证
export function isTel (rule: any, value: any, callback:any) {
  if (value !== '') {
    const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
    if (!reg.test(value)) {
      callback(new Error('请输入正确的手机号'))
    } else {
      callback()
    }
  } else {
    callback()
  }
}
// 车牌号校验（含新能源）
export function isPlateNumber (rule: any, value: any, callback: any) {
  const ptreg = /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$)/
  const xnyreg = /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$)/
  if (value !== '') {
    if (!ptreg.test(value) && !xnyreg.test(value)) {
      callback(new Error('请输入正确的车牌号'))
    } else {
      callback()
    }
  } else {
    callback()
  }
}
